package cn.iocoder.yudao.module.erp.controller.admin.contract.contractfilerelation.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

@Schema(description = "管理后台 - 合同文件关联新增/修改 Request VO")
@Data
public class ContractFileRelationSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6049")
    private Long id;

    @Schema(description = "关联的合同ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21054")
    @NotNull(message = "关联的合同ID不能为空")
    private Long contractId;

    @Schema(description = "关联的文件表ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "254")
    @NotNull(message = "关联的文件表ID不能为空")
    private Long infraFileId;

    @Schema(description = "文件类别", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "文件类别")
    private String fileCategory;

    @Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "文件名称不能为空")
    private String fileName;

    @Schema(description = "文件格式(pdf/doc/xls等)", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "文件格式(pdf/doc/xls等)不能为空")
    private String fileFormat;

   /* @Schema(description = "文件大小(字节)", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "文件大小(字节)不能为空")
    private Long fileSize;*/

    @Schema(description = "在线预览URL", example = "https://www.iocoder.cn")
    private String previewUrl;

    @Schema(description = "下载URL", example = "https://www.iocoder.cn")
    private String downloadUrl;

    @Schema(description = "文件备注说明", example = "你猜")
    private String fileRemark;

}